package com.lz.dao;

import com.lz.pojo.PlusBrand;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface Brandsdao {

    //查看详情 出现字段不一致问题
    //  @Select("select *from tb_brand where id=#{id}")
    PlusBrand selectById(int id);
    //    @Select("select *from tb_brand ;")
    List<PlusBrand> findAll();

    //1.条件表达式 2.如何连接
//    接收多个参数时使用@Param 要求设置的参数属性名称与参数占位符名称一致 三种写法
/*    @Select("select *from tb_brand where status like #{status} and brand_name like #{brandName}and " +
            "company_name like #{companyName}")
    List<PlusBrand> selectCondition(@Param("status") int status,
                                    @Param("brandName") String brandName,
                                    @Param("companyName") String companyName);*/

// ②   List<PlusBrand> selectConditionxml(PlusBrand plusBrand);;
// ③   List<PlusBrand> selectConditionxml(Map map);;


//动态sql 解决条件写死的问题 a条件有 B条件无 c条件有......
// 注解就做不了
//接收多个参数时使用@Param 要求设置的参数属性名称与参数占位符名称一致
// 动态sql   包含if where 两种写法

    List<PlusBrand> selectByConditionPlusxml(@Param("status") Integer ss,
                                          @Param("brandName") String sss,
                                          @Param("companyName") String ssss);
//用map来实现动态sql
//    List<PlusBrand> selectByConditionPlusxml(Map map);

    //单条件的 动态SQL查询
    List<PlusBrand> selectByComdationSinglexml(PlusBrand map);

    //    基本添加功能的实现
    void add(PlusBrand brand);

    //    基本修改功能
    void update(PlusBrand brand);

    //    根据id 删除一个
    void deleteByIds(@Param("ids") int[] id);
}
